Building the Model: General Elements > Processing > Process Edit Table

Process Edit Table

The Process edit table is used to create operation logic for each entity type at each location in the system. Processes for entities at locations may be in any order in the edit table, but for the sake of organization you should group them by entity type or location. The only time the order of processes is significant is when the same entity is routed multiple times through the same location, in which case, later processes must appear somewhere after earlier processes. When searching for the next process, ProModel always searches forward in the process list first, and then starts from the beginning of the list.

 

An explanation of each field of the Process edit table is contained on the following pages.

 

Entity The entity type for which the process is defined. If all entities at the same location undergo the same operation or have the same routing, the reserved word All may be entered in this field. (See discussion on All later in this section.) If an entity not previously defined is entered in this field, ProModel will ask if it should create the new entity type.

 

Click on the heading button to bring up the Entities selection box. If this is a preemption process record, check the box (see Preemption Process Logic) and double click on an entity to automatically place it in the table. You can also click on an entity name and select OK to place it in the table.

The entity list box defaults to the current field entity, the last entity selected, or the first entity defined.

 

Location The location where the process occurs.

 

Click on the heading button to bring up the Locations selection box from which you may choose a location.

The location list box defaults to the current location, the last location selected, or the first location defined.

 

Specifying All in the Location field and omitting any routing defines a process for an entity at all locations previously specified as routing destinations for the entity. Because there is no routing, after the entity finishes that process, ProModel will search ahead in the Process edit table for a process for the entity specific to the actual location. The keyword All in the Location field is particularly useful when entities route to different locations having the same operations and then route to a common destination. In most other instances, it is recommended that a subroutine or macro be used to define identical operations.

 

Operation logic is optional, but typically contains at least a wait statement for the amount of time the entity should spend at the location. If the entity needs a resource to process or to be combined in some way with other entities, that would be specified here as well. In fact, anything that needs to happen to the entity at the location should be specified here, except for any information specified in the entity's routing.

 

Statements can be typed directly into the operation field, or inside a larger logic window after double clicking in the field or clicking on the Operation button. Alternatively, the Logic Builder can help build logic and is accessed by clicking the right mouse button inside the operation field or logic window. All of the statements, functions, and distributions available in the operation field are discussed in detail, including examples, in Statements and Functions.

 

Each entity performs the operation steps defined for it at a particular location, independent of other operations performed on other entities at the same location.

For more information see Operation Logic.

Using the “All” Entity Type

The reserved word All may be entered as the processing entity if all entity types at that location have the same operation. All may also be used in the output field of the routing if all entity types at that location have the same routing. If a process record for a location using All as the entity follows several process records for the same location using specific entity names, and each process record has a defined routing, the All process is interpreted to mean All of the rest of the entities. The following examples show how All may be used in different situations.

1. All entities have a common operation and a common routing.

To define a common operation and routing for all entity types at a location, simply enter All for both the process entity name and the output entity name.

 

In the following example three entity types, EntA, EntB, and EntC, are all sent to a packing station for packaging. The packing time is .5 minutes and the entities move on to a shipping station. Though this is a simple example, it shows how one process and routing record is used for all entity types. In contrast, the previous operations at Loc1, Loc2, and Loc3 require separate process and routing records for EntA, EntB, and EntC.

Process Table

Entity...

Location...

Operation (min)...

EntA

Loc1

Wait N(5,.3)

EntB

Loc2

Wait U(3,.2)

EntC

Loc3

Wait T(3,5,9)

All

Packaging

Wait .5

Routing Table

 

Output...

Destination...

Rule...

Move Logic...

1

EntA

Packaging

First 1

Move For 1

1

EntB

Packaging

First 1

Move For 1

1

EntC

Packaging

First 1

Move For 1

1

All

Shipping

First 1

Move For 1

2. All entities have common operations but individual routings.

To define common operations but individual routings, use All as the process entity and define the common process, but do not define any routings. Then define individual processes for each entity type at the common location, with a blank operation field and the desired routing.

Process Table

Entity...

Location...

Operation (min)...

All

Packaging

Wait .5

EntA

Packaging

 

EntB

Packaging

 

EntC

Packaging

 

Routing Table

 

Output...

Destination...

Rule...

Move Logic...

 

 

 

 

 

1

EntA

Ship1

First 1

Move For 1

1

EntB

Ship2

First 1

Move For 1

1

EntC

Ship3

First 1

Move For 1

If only the destination is different, but move times and output quantities are identical, an alternative method is to assign each entity an attribute that corresponds to the destination's name-index number and then route with the Loc() function as shown in the following example.

Process Table

Entity...

Location...

Operation (min)...

All

Packaging

Wait .5

Routing Table

 

Output...

Destination...

Rule...

Move Logic...

1

All

Loc(Att1)

First 1

Move For 1

 

3. All entities have a common routing but individual operations.

To define individual operations along with a common routing for all entity types at a location, define operations for each entity, but do not define any routings. Then define a process record for All at this location and define the common routing for all entity types.

Process Table

Entity...

Location...

Operation (min)...

EntA

Loc1

Wait .4

EntB

Loc1

Wait .5

EntC

Loc1

Wait .6

All

Loc1

 

Routing Table

 

Output...

Destination...

Rule...

Move Logic...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

All

Packaging

First 1

Move For 1

Alternatively, you can assign an attribute to each entity which represents the processing time or some other entity-specific parameter. Then use the attribute as the processing time, or call a subroutine and pass the attribute as a parameter for entity-specific processing.

 

In the following example, the test time for each entity type is different. This time is stored in an attribute, Oper_Time. The attribute is then listed on a line in the operation logic (with a Wait statement) to signify an operation time. Once the test time for each entity is completed, the entities are all routed to a packaging location.

Process Table

Entity...

Location...

Operation (min)...

All

Test

Wait Oper_Time

Routing Table

 

Output...

Destination...

Rule...

Move Logic...

1

All

Packaging

First 1

Move For 1


© 2016 ProModel Corporation • 556 East Technology Avenue • Orem, UT 84097 • Support: 888-776-6633 • www.promodel.com